# Chapter 2. Our First Web Site

#### Contents:

What Is a Web Site?
Apache's Flags
site.toddle
Setting Up a Unix Server
Setting Up a Win32 Server

We now have a shiny bright apache/httpd, ready for anything. As we shall see, we will be creating a number of demonstration web sites.

## 2.1. What Is a Web Site?

It might be a good idea to get a firm idea of what, in the Apache business, a web site is: It is a directory somewhere on the server, say, /usr/www/site.for_instance. It contains at least three essential subdirectories:

conf

  Contains the Config file, which tells Apache how to respond to different kinds of requests

htdocs

  Contains the documents, images, data, and so forth that you want to serve up to your clients

logs

  Contains the log files that record what happened

Most of this book is about writing the Config file, using Apache's 150 or so directives. Nothing happens until you start Apache. If the conf subdirectory is not in the default location (it usually isn't), you need a flag that tells Apache where it is.

>     httpd -d /usr/www/site.for_instance

>     apache -d c:/usr/www/site.for_instance

Notice that the executable names are different under Win32 and Unix. The Apache Group decided to make this change, despite the difficulties it causes for documentation, because "httpd" is not a particularly sensible name for a specific web server, and, indeed, is used by other web servers. However, it was felt that the name change would cause too many backward compatibility issues on Unix, and so the new name is implemented only on Win32.

Also note that the Win32 version still uses forward slashes rather than backslashes. This is because Apache internally uses forward slashes on all platforms; therefore, you should never use a backslash in an Apache Config file, regardless of the operating system.

Once you start the executable, Apache runs silently in the background, waiting for a client's request to arrive on a port to which it is listening. When a request arrives, Apache either does its thing or fouls up and makes a note in the log file.

What we call "a site" here may appear to the outside world as many, perhaps hundred, of sites, because the Config file can invoke many virtual hosts.

When you are tired of the whole Web business, you kill Apache (see Section 2.4, "Setting Up a Unix Server ", later in this chapter) and the computer reverts to being a doorstop.

Various issues arise in the course of implementing this simple scheme, and the rest of this book is an attempt to deal with some of them. As we pointed out in the preface, running a web site can involve many questions far outside the scope of this book. All we deal with here is how to make Apache do what you want. We often have to leave the questions of what you want to do and why you might want to do it to a higher tribunal.

Copyright © 2001 O'Reilly & Associates. All rights reserved.